home *** CD-ROM | disk | FTP | other *** search
- unit Vatform;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, VatCalc, StdCtrls;
-
- type
- TForm1 = class(TForm)
- CalcBtn: TButton;
- GroupBox1: TGroupBox;
- SubTotRB: TRadioButton;
- GrandTotRB: TRadioButton;
- SubTotal: TEdit;
- Vat: TEdit;
- GrandTotal: TEdit;
- Label1: TLabel;
- procedure CalcBtnClick(Sender: TObject);
- procedure SubTotRBClick(Sender: TObject);
- procedure GrandTotRBClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure InputError( TE: TEdit; errcode : integer );
- var
- Msg : string;
- begin
- if TE.Text = '' Then
- Msg := 'You must enter a value'
- else
- Msg := 'Invalid character: ' + Copy(TE.Text, errcode, 1);
- MessageDlg(Msg, mtError,
- [mbOk], 0);
- TE.SetFocus;
- TE.SelStart := errcode-1;
- TE.SelLength := 1;
- end;
-
- procedure TForm1.CalcBtnClick(Sender: TObject);
- var
- stxt, vtxt,
- gtxt : string;
- st, vt, gt : real;
- errcode : integer;
- begin
- st := 0.0;
- vt := 0.0;
- gt := 0.0;
- stxt := '';
- vtxt := '';
- gtxt := '';
- if SubTotRB.Checked Then
- begin
- Val(SubTotal.Text, st, errcode);
- if errcode <> 0 then InputError(SubTotal,
- errcode);
- begin
- PlusVat(st,vt,gt);
- Str(vt:2:2, vtxt );
- Str(gt:2:2, gtxt );
- Vat.Text := vtxt;
- GrandTotal.Text := gtxt;
- end
- end
- else
- begin
- Val(GrandTotal.Text, gt, errcode);
- if errcode <> 0 then InputError( GrandTotal, errcode );
- begin
- MinusVat(st,vt,gt);
- Str(vt:2:2, vtxt );
- Str(st:2:2, stxt );
- Vat.Text := vtxt;
- SubTotal.Text := stxt;
- end
- end
- end;
-
- procedure TForm1.SubTotRBClick(Sender: TObject);
- begin
- CalcBtn.Caption := '&Calculate the Grand Total';
- end;
-
- procedure TForm1.GrandTotRBClick(Sender: TObject);
- begin
- CalcBtn.Caption := '&Calculate the Sub Total';
- end;
-
- end.
-